package JavaSE_core.Duo_Thread;

public class Demo1 {

	public static void main(String[] args) {
		
//		//启动一个子线程（继承方式）
//		SubThread st=new SubThread();
//		st.start();//启动一个新的子线程，自动执行run方法中的代码
////		st.run();//只是调用普通的实例方法，并不会启动一个新的子线程

		//获取当前线程（主线程）名字，默认为main
		System.out.println(Thread.currentThread().getName());
		
		//启动一个子线程（接口方式）
		ChildThread ct=new  ChildThread();
		Thread st=new Thread(ct);
		st.setName("子线程A");//name用于设置线程的名称

		st.start();
		
		for (int i = 0; i < 20; i++) {
			System.out.println("主线程"+i);
		}
	}

}

class SubThread extends Thread{//继承实现多线程
	
	//重写Thread父类的run方法用于执行子线程的任务（代码）
	public void run() {
		for (int i = 0; i < 20; i++) {
			System.out.println("子线程"+i);
		}
	}
	
}

class ChildThread implements Runnable{//实现Runnable接口实现多线程
	
	public void run() {
		for (int i = 0; i < 20; i++) {
			//Thread.currentThread()用于获取当前线程对象
			System.out.println(Thread.currentThread().getName()+i);
		}
	}
	
}
